/*
 * ComparadorContador.cpp
 *
 *  Created on: 22/05/2011
 *      Author: Jonathan
 */

#include "ComparadorContador.h"

/**
 * Compara Ascendente por ocurrencias totales
 * @param elemento1 a comparar
 * @param elemento2 a comparar
 * @return resultado de la comparacion
 */
ResultadoComparacion ComparadorContadorOcurrenciasAsc::comparar(
		Contador elemento1, Contador elemento2) {
	if (elemento1.getOcurrencias() > elemento2.getOcurrencias())
		return MAYOR;
	if (elemento1.getOcurrencias() < elemento2.getOcurrencias())
		return MENOR;
	return IGUAL;

}

/**
 * MEtodo para poder crear polimorficamente un nuevo comparador
 * @return una nueva instancia de este tipo de comparador
 */

Comparador<Contador> * ComparadorContadorOcurrenciasAsc::getNuevaInstancia(){
    	return new ComparadorContadorOcurrenciasAsc;

    }

/**
 * Compara Descendentemente por ocurrencias totales
 * @param elemento1 a comparar
 * @param elemento2 a comparar
 * @return resultado de la comparacion
 */
ResultadoComparacion ComparadorContadorOcurrenciasDesc::comparar(
		Contador elemento1, Contador elemento2) {
	if (elemento1.getOcurrencias() < elemento2.getOcurrencias())
		return MAYOR;
	if (elemento1.getOcurrencias() > elemento2.getOcurrencias())
		return MENOR;
	return IGUAL;

}

/**
 * MEtodo para poder crear polimorficamente un nuevo comparador
 * @return una nueva instancia de este tipo de comparador
 */
Comparador<Contador> * ComparadorContadorOcurrenciasDesc::getNuevaInstancia(){
    	return new ComparadorContadorOcurrenciasDesc;

    }



